macos: use NSOpenGLContext directly for current tracking
authorChristian Hergert <chergert@redhat.com>
Thu, 5 Nov 2020 21:57:41 +0000 (13:57 -0800)
committerChristian Hergert <chergert@redhat.com>
Thu, 5 Nov 2020 21:57:41 +0000 (13:57 -0800)
We don't need to interact with GdkGLContext here to keep the
current context active.

gdk/macos/gdkmacosglcontext.c

index df8f66b1369d92ad545e488324ec97876bcbba65..c01ec2893731526c8df6abb716dea8dc71ce362a 100644 (file)
@@ -175,7 +175,7 @@ gdk_macos_gl_context_real_realize (GdkGLContext  *context,
   NSOpenGLPixelFormat *pixelFormat;
   GdkGLContext *shared;
   GdkGLContext *shared_data;
-  GdkGLContext *existing;
+  NSOpenGLContext *existing;
   GLint sync_to_framerate = 1;
   GLint validate = 0;
   int major, minor;
@@ -185,7 +185,7 @@ gdk_macos_gl_context_real_realize (GdkGLContext  *context,
   if (self->gl_context != nil)
     return TRUE;
 
-  existing = gdk_gl_context_get_current ();
+  existing = [NSOpenGLContext currentContext];
 
   gdk_gl_context_get_required_version (context, &major, &minor);
 
@@ -249,7 +249,7 @@ gdk_macos_gl_context_real_realize (GdkGLContext  *context,
   self->gl_context = g_steal_pointer (&gl_context);
 
   if (existing != NULL)
-    [GDK_MACOS_GL_CONTEXT (existing)->gl_context makeCurrentContext];
+    [existing makeCurrentContext];
 
   return TRUE;
 }